
// 取消此功能
export function uploadPeriod(periodIndex) {
  console.log(periodIndex);
  var fd = new FormData();
  var file = $('#inputfile').get(0).files[0];
  //文件分片  以20MB去分片
  var periodSize = 20 * 1024 * 1024;
  //定义分片索引
  var periodIndex = periodIndex;
  //定义分片的起始位置
  var start = (periodIndex - 1) * periodSize;
  //定义分片结束的位置  file哪里来的?
  var end = Math.min(file.size, start + periodSize);
  //从文件中截取当前的分片数据
  var fileperiod = file.slice(start, end);
  //分片的大小
  var size = file.size;
  //总片数
  var periodTotal = Math.ceil(size / periodSize);
  //文件的后缀名
  var fileName = file.name;
  var suffix = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length).toLowerCase();
  //把视频的信息存储为一个字符串
  var filedetails = file.name + file.size + file.type + file.lastModifiedDate;
  //使用当前文件的信息用md5加密生成一个key 这个加密是根据文件的信息来加密的  如果相同的文件 加的密还是一样的
  var key = hex_md5(filedetails);
  var key10 = parseInt(key, 16);
  //把加密的信息 转为一个64位的
  var key62 = Tool._10to62(key10);

  fd.append('file', fileperiod);
  fd.append('suffix', suffix);
  fd.append('periodIndex', periodIndex);
  fd.append('periodSize', periodSize);
  fd.append('periodTotal', periodTotal);
  fd.append('size', size);
  fd.append("key", key62)
  $.ajax({
    url: "/file/upload",
    type: "post",
    cache: false,
    data: fd,
    processData: false,
    contentType: false,
    success: function (data) {
      //这里应该是一个递归调用
      if (periodIndex < periodTotal) {
        var index = periodIndex + 1;
        uploadPeriod(index);
      } else {
        alert(data)
      }

    },
    error: function () {
      //请求出错处理
    }
  })

}


export function upload() {
  var file=$('#inputfile').get(0).files[0];
  var filedetails=file.name+file.size+file.type+file.lastModifiedDate;
  var key = hex_md5(filedetails);
  var key10 = parseInt(key,16);
  var key62 = Tool._10to62(key10);
  //检查这个key存在不存在
  $.ajax({
      url:"/file/check",
      type:"post",
      data:{'key':key62},
      success:function (data) {
          console.log(data);
          if(data.code==500){
              //这个方法必须抽离出来
              uploadPeriod(1);
          }
          else
          {
              if(data.data.periodIndex == data.data.periodTotal)
              {
                  alert("极速上传成功");
              }else
              {
                  //找到这个是第几片 去重新上传
                  uploadPeriod(parseInt(data.data.periodIndex));
              }
          }
      }
  })
}